<?php
require_once('base.php');

$maxMegas=30;
$valid_formats = array(' pdf','doc', 'docx', 'odt', 'xsw', 'rtf', 'tex',
						"jpg", "png", "gif", "bmp","jpeg");

$usuario_gmail=array('usu'=>'amazon.versiaconsultores@gmail.com',
					'pwd'=>'Saltasalt4',
					);

function getExtension($str) {
	$i = strrpos($str,".");
	if (!$i) { return ""; } 

	$l = strlen($str) - $i;
	$ext = substr($str,$i+1,$l);
	return $ext;
	}
function recibeArchivos($arr){
	$name = $arr['name'];
	$size = $arr['size'];
	$tmp =  $arr['tmp_name'];
	$ext = getExtension($name);
	
	//lo renombro a su nombre de verdad
	$trozos=explode('/', $tmp);
	$trozos[ count($trozos)-1 ]=$name;
	$nuevaruta=implode('/', $trozos);
	move_uploaded_file($tmp, $nuevaruta);
	$tmp=$nuevaruta;
	
	global $maxMegas, $valid_formats;

	if(strlen($name) > 0){
		if ( in_array( strtolower($ext), $valid_formats) ){
			$sizeMB=$size/(1024*1024);
			if ($sizeMB<$maxMegas){
				return array('imgSubida'=>1, 
								'nombreOriginal'=>$name,
								'tamañoMB'=>$sizeMB,
								'rutaLocal'=>$tmp);
				}
			else
				throw new Exception('File size too large: '.$sizeMB.'MB (max:'.$maxMegas.' MB)');
			}
		else
			throw new Exception('Invalid file type "'.$ext.'" (valid formats:'.json_encode($valid_formats).')')	;
		}
	}
function getOrNull($xpet, $id){
	if (array_key_exists($id, $xpet))
		return $xpet[$id];
	return '';
	}
function plantillaClienteOLD(){
	$message = <<<EOT
<html>
<head></head>
<body>
	<p style="margin-bottom:1rem">Buen día,</p>
	<p>se ha recibido una solicitud a través de $url con la siguiente información</p>
	<table style="cellspacing:1px; background-color:silver;">
		<thead>
			<tr style="font-weight:bold">
				<th>Dato</th> 
				<th>Valor</th>
			</tr>
		</thead>
		<tbody style="background-color:white;">
		
			<tr style="font-style:italic; background-color:#f2f2f2""><td colspan=2>Colaborador</td></tr>
				<tr> 
				<td colspan=2> $colaborador	</td> 
			
			<tr style="font-style:italic; background-color:#f2f2f2""><td colspan=2>Datos del cliente</td></tr>
				<tr> 
				<td> Nombre 		</td>  <td> $nombre 		</td>
				<tr> 
			<!--
				<td> DNI			</td>  <td> $dni 			</td> //-->
				<tr> 
				<td> Teléfono	 	</td>  <td> $telefono 		</td>
				<tr> 
				<td> Correo-e	 	</td>  <td> $email 			</td>

			<!--
				<tr> 
				<td> Estado civil 	</td>  <td> $estadoCivil	</td>
				<tr> 
				<td> Edad 			</td>  <td> $edad			</td> 

				<tr> 
			<!--	<td> Domicilio 		</td>  <td> $domicilio 		</td> //-->
				<tr> 
				<td> Localidad	 	</td>  <td> $localidad 		</td>
				<tr> 
				<td> Provincia	 	</td>  <td> $provincia 		</td>

			<!--
			<tr style="font-style:italic; background-color:#f2f2f2""><td colspan=2>Datos de las garantías que se aportan</td></tr>
				<tr> 
				<td> Tipo de bien	 	</td>  <td> $tipobien 		</td>
				<tr> 
				<td> Domicilio del bien 	</td>  <td> $domiciliobien 	</td>
				<tr> 
				<td> Localidad	 	</td>  <td> $localidadbien 	</td>
				<tr> 
				<td> Provincia	 	</td>  <td> $provinciabien 	</td>

				<tr> 
				<td> Núm. finca registral	 	</td>  <td> $numFincaRegistral 	</td>
				<tr> 
				<td> Valor estimado	</td>  <td> $valorBien 					</td>
				<tr> 
				<td> Hipotecas existentes	 	</td>  <td> $hipotecaBien 	</td>
				<tr> 
				<td> Cargas con	 	</td>  <td> $cargasConQuien 			</td>

			<tr style="font-style:italic; background-color:#f2f2f2""><td colspan=2>Datos del prestamo solicitado</td></tr>
				<tr> 
				<td> Importe solicitado</td>  <td> $importeSolicitado 		</td>
				<tr> 
				<td> Plazo de devolución</td>  <td> $plazoDevolucion 		</td> //-->

			<tr style="font-style:italic; background-color:#f2f2f2""><td colspan=2>Observaciones</td></tr>
				<tr> 
				<td colspan=2> $observaciones </td>
			<!--
			<tr style="font-style:italic; background-color:#f2f2f2""><td colspan=2>Información adicional sobre los archivos adjuntos</td></tr>
				$comentariosAdjuntos //-->

		</tbody>
	</table>
</body></html>
EOT;

	return $message;
}
function plantillaCliente($url,$nombre,$telefono,$email,$localidad,$provincia,$observaciones){
	$message = <<<EOT
<html>
<head></head>
<body>
	<p style="margin-bottom:1rem">Buen día,</p>
	<p>se ha recibido una solicitud a través de $url con la siguiente información</p>
	<table style="cellspacing:1px; background-color:silver;">
		<thead>
			<tr style="font-weight:bold">
				<th>Dato</th> 
				<th>Valor</th>
			</tr>
		</thead>
		<tbody style="background-color:white;">
		
			<tr style="font-style:italic; background-color:#f2f2f2""><td colspan=2>Datos del cliente</td></tr>
				<tr> 
				<td> Nombre 		</td>  <td> $nombre 		</td>
				<tr> 
				<td> Teléfono	 	</td>  <td> $telefono 		</td>
				<tr> 
				<td> Correo-e	 	</td>  <td> $email 			</td>

				<tr> 
				<td> Localidad	 	</td>  <td> $localidad 		</td>
				<tr> 
				<td> Provincia	 	</td>  <td> $provincia 		</td>


			<tr style="font-style:italic; background-color:#f2f2f2""><td colspan=2>Observaciones</td></tr>
				<tr> 
				<td colspan=2> $observaciones </td>
		</tbody>
	</table>
</body></html>
EOT;

	return $message;
}
function plantillaColaborador($url,$nombre,$telefono,$email){
	$message = <<<EOT
<html>
<head></head>
<body>
	<p style="margin-bottom:1rem">Buen día,</p>
	<p>se ha recibido una solicitud de colaboración a través de $url con la siguiente información</p>
	<table style="cellspacing:1px; background-color:silver;">
		<thead>
			<tr style="font-weight:bold">
				<th>Dato</th> 
				<th>Valor</th>
			</tr>
		</thead>
		<tbody style="background-color:white;">
		
			<tr style="font-style:italic; background-color:#f2f2f2""><td colspan=2>Datos del colaborador</td></tr>
				<tr> 
				<td> Nombre 	</td>  <td> $nombre 		</td>
				<tr> 
				<td> Teléfono	 	</td>  <td> $telefono 		</td>
				<tr> 
				<td> Correo-e	 	</td>  <td> $email 			</td>
		</tbody>
	</table>
</body></html>
EOT;

	return $message;
}
function enviarCorreoIvan($xpet, $plantilla){
	global $usuario_gmail;

	$from=Base::getEmailEmpresa();
	$to = Base::getEmailEmpresa();; //la de info@prestamosalinstante.es mejor no la usamos mucho...

	$rutas=array();
	foreach ($xpet AS $k=>$v){
		$pos=strpos($k, 'docu_adjunto');
		if ($pos===false){
			}
		else if ($pos==0){
			$r=$v['rutaLocal'];	
			array_push($rutas, $r);
			}
		}

	// var_dump($xpet);

	$comentariosAdjuntos='';
	for ($i=1; $i<30; $i++){
		$id='docu_adjunto'.$i;
		if (array_key_exists($id, $xpet)){
			$doc=$xpet[$id];
			$comentariosAdjuntos.='<tr><td>'.$doc['nombreOriginal'].'</td><td>'.$xpet['desc_'.$id].'</td></tr>';
			}
		}

	$colaborador= 		getOrNull($xpet,'colaborador');
	$nombre= 			getOrNull($xpet,'nombre');
	// $dni= 				getOrNull($xpet,'dni');
	$telefono= 			getOrNull($xpet,'telefono');
	$email= 			getOrNull($xpet,'email');
	// $estadoCivil= 		getOrNull($xpet,'estadoCivil');
	// $edad= 				getOrNull($xpet,'edad');
	// $domicilio= 		getOrNull($xpet,'domicilio');
	$localidad= 		getOrNull($xpet,'localidad');
	$provincia= 		getOrNull($xpet,'provincia');
	// $tipobien= 			getOrNull($xpet,'tipobien');
	// $domiciliobien= 	getOrNull($xpet,'domiciliobien');
	// $localidadbien= 	getOrNull($xpet,'localidadbien');
	// $provinciabien= 	getOrNull($xpet,'provinciabien');
	// $numFincaRegistral= getOrNull($xpet,'numFincaRegistral');
	// $valorBien= 		getOrNull($xpet,'valorBien');
	// $hipotecaBien= 		getOrNull($xpet,'hipotecaBien');
	// $cargasConQuien= 	getOrNull($xpet,'cargasConQuien');
	// $importeSolicitado= getOrNull($xpet,'importeSolicitado');
	// $plazoDevolucion= 	getOrNull($xpet,'plazoDevolucion');
	$observaciones= 	getOrNull($xpet,'observaciones');

	$url=Base::getUrlEmpresa();

	if ($colaborador!=null){
		$message=plantillaColaborador($url, $colaborador, $telefono, $email);
		$subject = Base::getUrlEmpresa().': nueva solicitud de colaboración';
		}
	else {
		$message=plantillaCliente($url, $nombre, $telefono, $email, $localidad, $provincia, $observaciones);
		$subject = Base::getUrlEmpresa().': nueva solicitud';
		}
	
	gmail($to, $subject, $message, $rutas);
	}
function enviarCorreoCliente($xpet){
	$to = $xpet['email'];

	$subject = 'Confirmación de '.Base::getUrlEmpresa();

	$nombre=$xpet['nombre'];
	$url=Base::getUrlEmpresa();

	$message = <<<EOT
<html><body>
<p>Estimado señor $nombre:</p>
<p style="margin-top:1rem">
Le confirmamos que hemos recibido su solicitud. En breve la estudiaremos y le daremos
respuesta a través de alguno de los medios de contacto que nos ha proporcionado.
</p>
<a href="$url">$url</a>
</body></html>
EOT;
	
	gmail($to, $subject, $message, []);
	}
function xencode($subject){
	return utf8_encode('=?UTF-8?B?'.base64_encode($subject).'?=');
	}
function gmail($to, $subject, $message, $attachments){
	global $usuario_gmail;

	// date_default_timezone_set('Etc/UTC');
	require_once('PHPMailerAutoload.php');
	//Create a new PHPMailer instance
	$mail = new PHPMailer();
	$mail->CharSet = "UTF-8";
	$mail->isSMTP();
	
	//Enable SMTP debugging
	// 0 = off (for production use)
	// 1 = client messages
	// 2 = client and server messages
	$mail->SMTPDebug = 0;
	
	$mail->Debugoutput = 'html';//Ask for HTML-friendly debug output

	$mail->Host = 'smtp.gmail.com';//Set the hostname of the mail server
	$mail->Port = 587;//Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission
	$mail->SMTPSecure = 'tls';//Set the encryption system to use - ssl (deprecated) or tls
	$mail->SMTPAuth = true;//Whether to use SMTP authentication
	
	$mail->Username = $usuario_gmail['usu'];//Username to use for SMTP authentication - use full email address for gmail
	$mail->Password = $usuario_gmail['pwd'];
	$mail->setFrom($usuario_gmail['usu'], Base::getEmailEmpresa());
	//Set an alternative reply-to address
	// $mail->addReplyTo(Base::getEmailEmpresa());
	
	$mail->addAddress($to);
	$mail->Subject = xencode($subject);
	$mail->msgHTML($message);

	// var_dump($attachments);
	for ($i=0; $i<count($attachments); $i++){
		$mail->addAttachment( $attachments[$i] );
		}
	return $mail->send();
	}
////////////////
if($_SERVER['REQUEST_METHOD'] == "POST"){
	$xpet=array();

	if (isset($_FILES)){
		foreach ($_FILES AS $k=>$v){
			$f=recibeArchivos($v);

			//$f['descripcion archivo']=$_POST['desc_'.$k];
			$xpet[$k]=$f;
			}
		}
	foreach ($_POST AS $k=>$v){
		$xpet[ $k ]=$v;
		}

	// var_dump($xpet);
	enviarCorreoIvan($xpet);
	enviarCorreoCliente($xpet);
	
	header('Location: respuesta.php');
	die();
	}
?>